export function params(){

    const D01={
        0b100001:'发射点频模式1',
        0b100010:'发射点频模式2',
        0b100011:'噪声测量模式1',
        0b100100:'噪声测量模式2',
        0b100101:'低频测量模式1',
        0b100110:'高频测量模式1',
        0b100111:'低频测量模式2',
        0b101000:'高频测量模式2',
        0b101001:'定标模式',
        0b101010:'交替测量模式1',
        0b101011:'交替测量模式2',
        0b010001:'待机模式',
        0b010010:'供电模式',
        0b010011:'天线解锁'
    }
    const D02={
        0x00:'无错误',
        0x09:'奇偶校验错误',
        0x13:'累加和错误',
        0x25:'帧头错误',
        0x2C:'载荷标识错误',
        0x36:'命令类型错误',
        0x3F:'指令有效数据字节长度错误',
        0x63:'停止位错误',
        0x70:'字符间隔错误'
    }
    const D03={
        0x31: '不压缩',
        0x32: '压缩'
    }
    const F01=(v,n)=>{
        let I = v/255*20
        return I
    }
    const F02=(v,n)=>{
        let V = v/255*5
        return V
    }
    const F03=(v,n)=>{
        return v * 8 / 1000
    }
        const TD01=(v)=>{
      // d: 时区为北京时的时候， 转换最终时间 需要减去offset 方可用 toISO 方法显示为北京时 - t.getTimezoneOffset()*60e3
      // 	  // d 指定时区为utc / toiso 也是utc 也就是与开始时间处于同一时区，处理过程就不需要在考虑时区问题了
       	        let d = new Date('2020-01-01T00:00:00Z')
       	        let t = parseInt(v.toString(16).padStart(12,0).slice(0,8),16)*1000 + (v & 0xFFFF)  + d.getTime()
       	        return new Date(t).toISOString().slice(0,23).replace('T',' ')
       	                        }
    return[
//        1			包同步码		16			0xEB90
        new Params('a001', '包同步码', 16, null, null, null,null),
//        2			包标识		16			0x092C	/	/	/	/
        new Params('a002', '包标识', 16, null, null, null,null),
//3			包序		16
        new Params('a003', '包序', 16, null, null, null,null),
//4			包长		16			0x3F
        new Params('a004', '包长', 16, null, null, null,null),
//5			副导头（时间码）		48		源码
        new Params('a005', '副导头（时间码）', 48, null, v=>TD01(v), null,null),
//6			命令类型		8			0x25
        new Params('a006', '命令类型', 8, null, null, null,null),
//7			探测雷达测量模式	无	8		表格	注1	无	无	无	无	1s
        new Params('a007', '探测雷达测量模式', 8, null, null,v=>D01[v], null),
//8			探测雷达+5.7V电流	A	8		曲线	注2	6	0	无	无	1s
        new Params('a008', '探测雷达+5.7V电流', 8, 'A', v=>F01(v, 'a008'),v=>v.toFixed(3), null),
//9			探测雷达频综2G锁定遥测	V	8		表格	注3	5	0	无	无	1s
        new Params('a009', '探测雷达频综2G锁定遥测', 8, 'V', v=>F02(v, 'a009'),v=>v.toFixed(3), null),
//10			探测雷达频综4G锁定遥测	V	8		表格	注3	5	0	无	无	1s
        new Params('a010', '探测雷达频综4G锁定遥测', 8, 'V', v=>F02(v, 'a010'),v=>v.toFixed(3), null),
//11			探测雷达固放功率1遥测	V	8		表格	注3	5	0	无	无	1s
        new Params('a011', '探测雷达固放功率1遥测', 8, 'V', v=>F02(v, 'a011'),v=>v.toFixed(3), null),
//12			探测雷达固放功率2遥测	无	8		表格	注3	255	0	无	无	1s
        new Params('a012', '探测雷达固放功率2遥测', 8, null, v=>F02(v, 'a012'),v=>v.toFixed(3), null),
//13			探测雷达上注计数	无	8		表格	按十进制解析	20	0	无	无	1s
        new Params('a013', '探测雷达上注计数', 8, null, null, null,null),
//14			探测雷达接收功率衰减	无	8		表格	按十进制解析	31	0	无	无	1s
        new Params('a014', '探测雷达接收功率衰减', 8, null, null, null,null),
//15			探测雷达信号处理自检	无	8		表格	按十进制解析	165	165	无	无	1s
        new Params('a015', '探测雷达信号处理自检', 8, null, null, null,null),
//16			探测雷达数据压缩方式	无	8		表格	按十进制解析	255	0	无	无	1s
        new Params('a016', '探测雷达数据压缩方式', 8, null, null,v=>D03[v], null),
//17			探测雷达天线微动开关	V	8		表格	注3	5	0	无	无	1s
        new Params('a017', '探测雷达天线微动开关', 8, 'V', v=>F02(v, 'a017'),v=>v.toFixed(3), null),
//18			探测雷达RS422通信错误计数	无	8		表格	按十进制解析	255	0
        new Params('a018', '探测雷达RS422通信错误计数', 8, null, null, null,null),
//19			探测雷达RS422通信错误类型	无	8		表格	注4	0x36	0	无	无	1s
        new Params('a019', '探测雷达RS422通信错误类型', 8, null, null,v=>D02[v], null),
//20			探测雷达RS422复位、数据注入指令计数	无	8		表格	按十进制解析	255	0	无	无	1s
        new Params('a020', '探测雷达RS422复位、数据注入指令计数', 8, null, null, null,null),
//21			发射波门宽度	μs	16		表格	注6	65535	0	无	无	1s
        new Params('a021', '发射波门宽度', 16, 'μs', v=>F03(v, 'a021'),null, null),
//22			校验和	/	8		/	校验和：从副导头开始到源数据的字节累加和
        new Params('a022', '校验和', 8, null, null, null,null),



    ]

}
